package com.gxa.dr2.mapper;

import com.gxa.dr2.param.MyParam;
import com.gxa.dr2.pojo.Empl;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface EmplMapper {


    /**
     * 查询所有
     * @return
     */
    List<Empl> findAll();

    /**
     * 多条件查询： 姓名， 状态， 创建时间
     * @return
     */
    List<Empl> findByParam(@Param("param") MyParam param);


    /**
     * 添加数据
     * @param empl
     */
    void save(@Param("empl") Empl empl);


    /**
     * 更新数据
     * @param empl
     */
    void update(@Param("empl") Empl empl);

    /**
     * 真删除
     * @param id
     */
    void deleteTrue(@Param("id") Integer id);

    /**
     * 批量的逻辑删除
     * @param ids
     */
    void deleteAll(@Param("ids") Integer[] ids);


    /**
     * 逻辑删除
     * @param id
     */
    void deleteFalse(@Param("id") Integer id);


    /**
     * 通过员工的编码查询员工信息
     * @param empl
     * @return
     */
    Empl findByCode(@Param("empl") Empl empl);

    /**
     * 查询最新的员工
     * @return
     */
    Empl findLastEmpl();


    /**
     * 通过ID查询数据
     * @param emplId ： 员工ID
     * @return
     */
    Empl findById(Integer emplId);


    /**
     * 获得员工姓名、部门
     */

    Empl findEmplBase(Integer emplId);

    /**
     * 获得员工名字
     */
    String findEmplName(Integer emplId);

    /**
     * 根据名字获得id
     */
    Integer findIdByName(String emplName);

}
